80340a78: 27 bd ff e8  ADDIU sp, sp, 0xffffffe8 (-24)
80340a7c: af bf 00 14  SW ra, sp, 0x14 (20)

80340a80: 3c 0e 80 39  LUI t6, 0x8039
80340a84: 8d ce be 28  LW t6, t6, 0xffffbe28
80340a88: 85 c4 00 02  LH a0, t6, 0x2 (2)
80340a8c: 8d c5 00 04  LW a1, t6, 0x4 (4)
80340a90: 0c 09 e1 f6  JAL 0x802787d8                  0x802787d8(*((short *)(*(0x8038be28)+2)), *(*(0x8038be28)+4), *(*(0x8038be28)+8));
80340a94: 8d c6 00 08  LW a2, t6, 0x8 (8)

80340a98: 3c 0f 80 39  LUI t7, 0x8039
80340a9c: 8d ef be 28  LW t7, t7, 0xffffbe28          t7 = *(0x8038be28)
80340aa0: 3c 01 80 39  LUI at, 0x8039
80340aa4: 91 f8 00 01  LBU t8, t7, 0x1                t8 = *(char)(*(0x8038be28) + 1)
80340aa8: 01 f8 c8 21  ADDU t9, t7, t8                t9 = *(0x8038be28) + *(char)(*(0x8038be28) + 1)
80340aac: ac 39 be 28  SW t9, at, 0xffffbe28          *(0x8038be28) = *(0x8038be28) + *(char)(*(0x8038be28) + 1)

80340ab0: 10 00 00 01  BEQ r0, r0, 0x80340ab4 (pc+0x4)
80340ab4: 00 00 00 00  NOP
80340ab8: 8f bf 00 14  LW ra, sp, 0x14 (20)
80340abc: 27 bd 00 18  ADDIU sp, sp, 0x18 (24)
80340ac0: 03 e0 00 08  JR ra
80340ac4: 00 00 00 00  NOP



struct mysterystruct {
   char a;
   char b;   /* a displacement relative to the start of this struct */
   short c;  /* a segment */
   long d;   /* a start */
   long e;   /* an end */
};

struct mysterystruct *mystery_global_pointer;


void 0x80340a78()
{
    0x802787d8(mystery_global_pointer->c, mystery_global_pointer->d, mystery_global_pointer->e);
    mystery_global_pointer = (struct mysterystruct *)(((void *)mystery_global_pointer) + mystery_global_pointer->b);
}